package com.javacoo.xservice.base.support.swaparea;

import org.apache.commons.lang3.StringUtils;

import com.javacoo.xservice.base.BaseRequest;
import com.javacoo.xservice.base.BaseResponse;
import com.javacoo.xservice.base.Constants;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * 数据交换区数据
 * <p>说明:</p>
 * <li></li>
 * @author DuanYong
 * @since 2017年6月30日上午10:00:36
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class SwapAreaData {
	/**
	 * 请求URL
	 */
	private String reqUrl;
	/**
	 * 请求Ip
	 */
	private String reqIp;
	/**
	 * 请求方法
	 */
	private String reqMethod;
	/**
	 * 请求签名
	 */
	private String reqSign;
	/**
	 * 请求JSON数据
	 */
	private String reqJson;
	/**
	 * 请求开始时间
	 */
	private Long startTime;
	/**
	 * 请求开始时间
	 */
	private Long endTime;
	/**
	 * 交易流水号
	 */
	private String transactionSn;
    /**
     * 分布式锁KEY
     */
    private String cacheKey;
	/**
	 * 是否压缩
	 */
	private boolean compressed = false;
	/**
	 * 请求参数
	 */
	private BaseRequest baseRequest;
	/**
	 * 响应数据
	 */
	private BaseResponse baseResponse;

    public String getReqMethod() {
        if(StringUtils.isBlank(reqMethod) && StringUtils.isNotBlank(reqUrl) && reqUrl.contains(Constants.SLASH)){
            reqMethod =  reqUrl.substring(reqUrl.lastIndexOf(Constants.SLASH)+1,reqUrl.length());
        }
        return reqMethod;
    }
}
